
<html><HEAD>
<LINK REL=STYLESHEET HREF="default.css" TYPE="text/css">
<TITLE>
Working in painters</TITLE>
</HEAD>
<BODY>

<!-- Header -->
<p class="ancestor" align="right"><A HREF="pbugp42.htm">Previous</A>&nbsp;&nbsp;<A HREF="pbugp44.htm" >Next</A>
<!-- End Header -->
<A NAME="CHDDDIFD"></A><h1>Working in painters</h1>
<A NAME="TI1266"></A><p>In PowerBuilder,
you edit objects such as applications, windows, menus, DataWindow
objects, and user objects in painters. In addition to painters that edit
objects, other painters such as the Library painter and the Database
painter provide you with the ability to work with libraries and
databases. </p>
<A NAME="CAIDJICI"></A><h2>Opening painters</h2>
<A NAME="TI1267"></A><h4>Painters that edit objects</h4>
<A NAME="TI1268"></A><p>There are several
ways to open painters that edit objects:</p>
<A NAME="TI1269"></A><table cellspacing=0 cellpadding=6 border=1 frame="void" rules="all"><tr><th  rowspan="1"  ><A NAME="TI1270"></A>From here</th>
<th  rowspan="1"  ><A NAME="TI1271"></A>You can</th>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1272"></A>PowerBar</td>
<td  rowspan="1"  ><A NAME="TI1273"></A>Click New or Inherit (to create new objects)
or Open (to open existing objects)</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1274"></A>Library painter</td>
<td  rowspan="1"  ><A NAME="TI1275"></A>Double-click an object or select Edit
from the object's pop-up menu</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1276"></A>System Tree</td>
<td  rowspan="1"  ><A NAME="TI1277"></A>Double-click an object or select Edit
from the object's pop-up menu</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1278"></A>Browser</td>
<td  rowspan="1"  ><A NAME="TI1279"></A>Select edit from an object's
pop-up menu</td>
</tr>
</table>
<A NAME="TI1280"></A><h4>Other painters</h4>
<A NAME="TI1281"></A><p>Most other painters are accessible from the New dialog box.
Some are also available on the PowerBar and from the Tools menu.</p>
<p><img src="images/note.gif" width=17 height=17 border=0 align="bottom" alt="Note"> <span class=shaded>Select Target for Open</span> <A NAME="TI1282"></A>You may see the Select Target for Open dialog box if you use
the same <ACRONYM title = "pibble" >PBL</ACRONYM> in more than one
target. When you open an object in a <ACRONYM title = "pibble" >PBL</ACRONYM> that
is used in multiple targets, PowerBuilder needs to set global properties
for the specific target you are working on. If you open the object
from the Workspace page when the root is not set to the current
workspace, PowerBuilder asks you which target you want to open it
in. A similar dialog box displays if you select Inherit, Run/Preview,
Regenerate, Print, or Search.</p>
<A NAME="X-REF299868985"></A><h2>Painter summary</h2>
<A NAME="TI1283"></A><p>The PowerBuilder painters
are:</p>
<A NAME="TI1284"></A><table cellspacing=0 cellpadding=6 border=1 frame="void" rules="all"><tr><th  rowspan="1"  ><A NAME="TI1285"></A>Painter</th>
<th  rowspan="1"  ><A NAME="TI1286"></A>What you do</th>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1287"></A>Application painter</td>
<td  rowspan="1"  ><A NAME="TI1288"></A>Specify application-level properties
and scripts.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1289"></A>Database painter</td>
<td  rowspan="1"  ><A NAME="TI1290"></A>Maintain databases, control user access
to databases, manipulate data in databases, and create tables.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1291"></A>DataWindow painter</td>
<td  rowspan="1"  ><A NAME="TI1292"></A>Build intelligent objects called DataWindow
objects that present information from the database.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1293"></A>Data Pipeline painter</td>
<td  rowspan="1"  ><A NAME="TI1294"></A>Transfer data from one data source to
another and save a pipeline object for reuse.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1295"></A>Function painter</td>
<td  rowspan="1"  ><A NAME="TI1296"></A>Build global functions to perform processing
specific to your application.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1297"></A>Library painter</td>
<td  rowspan="1"  ><A NAME="TI1298"></A>Manage libraries, create a new library,
and build dynamic libraries.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1299"></A>Menu painter</td>
<td  rowspan="1"  ><A NAME="TI1300"></A>Build menus to be used in windows.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1301"></A>Project painter</td>
<td  rowspan="1"  ><A NAME="TI1302"></A>Create executable files, dynamic libraries,
components, and proxies.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1303"></A>Query painter</td>
<td  rowspan="1"  ><A NAME="TI1304"></A>Graphically define and save <ACRONYM title = "sequel" >SQL</ACRONYM> <b>SELECT</b> statements
for reuse with DataWindow objects and pipelines.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1305"></A><ACRONYM title = "sequel" >SQL</ACRONYM> Select
painter</td>
<td  rowspan="1"  ><A NAME="TI1306"></A>Graphically define <ACRONYM title = "sequel" >SQL</ACRONYM> <b>SELECT</b> statements
for DataWindow objects and pipelines.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1307"></A>Structure painter</td>
<td  rowspan="1"  ><A NAME="TI1308"></A>Define global structures (groups of variables)
for use in your application.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1309"></A>User Object painter (visual)</td>
<td  rowspan="1"  ><A NAME="TI1310"></A>Build custom visual objects that you
can save and use repeatedly in your application. A visual user object
is a reusable control or set of controls that has a certain behavior.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1311"></A>User Object painter (nonvisual)</td>
<td  rowspan="1"  ><A NAME="TI1312"></A>Build custom nonvisual objects that you
can save and use repeatedly in your application. A nonvisual user
object lets you reuse a set of business rules or other processing
that acts as a unit but has no visual component.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1313"></A>Window painter</td>
<td  rowspan="1"  ><A NAME="TI1314"></A>Build the windows that will be used in
the application.</td>
</tr>
</table>
<A NAME="CAICHEEB"></A><h2>Painter features</h2>
<A NAME="TI1315"></A><h4>Painters that edit objects</h4>
<A NAME="TI1316"></A><p>Most painters that
edit PowerBuilder objects have these features:</p>
<A NAME="TI1317"></A><table cellspacing=0 cellpadding=6 border=1 frame="void" rules="all"><tr><th  rowspan="1"  ><A NAME="TI1318"></A>Feature</th>
<th  rowspan="1"  ><A NAME="TI1319"></A>Notes</th>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1320"></A>Painter window with views</td>
<td  rowspan="1"  ><A NAME="TI1321"></A>See <A HREF="pbugp43.htm#CAICBJFC">"Views in painters that edit
objects"</A>. </td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1322"></A>Unlimited undo/redo</td>
<td  rowspan="1"  ><A NAME="TI1323"></A>Undo and redo apply to all changes.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1324"></A>Drag-and-drop operations</td>
<td  rowspan="1"  ><A NAME="TI1325"></A>Most drag-and-drop operations change
context or copy objects.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1326"></A>To-Do List support</td>
<td  rowspan="1"  ><A NAME="TI1327"></A>When you are working in a painter, a
linked item you add to the To-Do list can take you to the specific location.
See <A HREF="pbugp13.htm#CAICEGHE">"Using the To-Do List"</A>.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1328"></A>Save needed indicator</td>
<td  rowspan="1"  ><A NAME="TI1329"></A>When you make a change, PowerBuilder
displays an asterisk after the object's name in the painter's
Title bar to remind you that the object needs to be saved.</td>
</tr>
</table>
<A NAME="TI1330"></A><h4>Other painters</h4>
<A NAME="TI1331"></A><p>Most of the painters that do not edit PowerBuilder objects
have views and some drag-and-drop operations.</p>
<A NAME="CAICBJFC"></A><h2>Views in painters that edit objects</h2>
<A NAME="TI1332"></A><p>Each painter has a View menu that
you use for opening views. The views you can open depend on the
painter you are working in. Every painter has a default arrangement
of views. You can rearrange these views, choose to show or hide views,
and save arrangements that suit your working style. See <A HREF="pbugp18.htm#CAICIJHJ">"Using views in painters"</A>.</p>
<A NAME="TI1333"></A><p>Many views are shared by some painters, but some views are
specific to a single painter. For example, the Layout, Properties,
and Control List views are shared by the Window, Visual User Object,
and Application painters, but the Design, Column Specifications,
Data, Preview, Export/Import Template for XML, and Export
Template for XHTML views are specific to the DataWindow painter.
The WYSIWYG Menu and Tree Menu views are specific to the Menu painter.</p>
<A NAME="TI1334"></A><p>The following sections describe the views you see in many
painters. Views that are specific to a single object type are described
in the chapter for that object.</p>
<A NAME="TI1335"></A><h4>Layout view</h4>
<A NAME="TI1336"></A><p>The Layout view shows a representation
of the object and its controls. It is where you place controls on
an object and design the layout and appearance of the object.</p>
<br><img src="images/ui22.gif">
<A NAME="TI1337"></A><p>If the Properties view is displayed and you select a control
in the Layout view or the Control List view, the properties for
that control display in the Properties view. If you select several
controls in the Layout view or the Control List view, the properties
common to the selected controls display in the Properties view.</p>
<A NAME="TI1338"></A><h4>Properties view</h4>
<A NAME="TI1339"></A><p>The Properties view displays properties
for the object itself or for the currently selected controls or
nonvisual objects in the object. You can see and change the values
of properties in this view.</p>
<br><img src="images/ui24.gif">
<A NAME="TI1340"></A><p>The Properties view dynamically changes when you change selected
objects or controls in the Layout, Control List, and Non-Visual
Object List views.</p>
<A NAME="TI1341"></A><p>If you select several controls in the Layout view or the Control
List view, the Properties view says <i>group selected </i>in
the title bar and displays the properties common to the selected
controls.</p>
<A NAME="TI1342"></A><p>In the Properties view pop-up menu, you can select Labels
On Top or Labels On Left to specify where the labels for the properties
display. For help on properties, select Help from the pop-up menu.</p>
<A NAME="TI1343"></A><p>If the Properties view is displayed and you select a nonvisual
object in the Non-Visual Object List view, the properties
for that nonvisual object display in the Properties view. If you
select several nonvisual objects in the Non-Visual Object List view,
the properties common to the selected nonvisual objects display
in the Properties view.</p>
<A NAME="TI1344"></A><h4>Script view</h4>
<A NAME="TI1345"></A><p>The Script view is where you edit the scripts
for events and functions, define and modify user events and functions,
declare variables and external functions, and view the scripts for
ancestor objects.</p>
<br><img src="images/ui23.gif">
<A NAME="TI1346"></A><p>You can open the default script for an object or control by
double-clicking it in the System Tree or the Layout, Control List,
or Non-Visual Object List views, and you can insert the name of
an object, control, property, or function in a script by dragging
it from the System Tree. </p>
<A NAME="TI1347"></A><p>For information about the Script view, see <A HREF="pbugp65.htm#BFCEBFDG">Chapter 7, "Writing Scripts ."</A></p>
<A NAME="TI1348"></A><h4>Control List view</h4>
<A NAME="TI1349"></A><p>The Control List view lists the visual
controls on the object. You can click the Control column to sort
the controls by control name or by hierarchy.</p>
<br><img src="images/ui21.gif">
<A NAME="TI1350"></A><p>If you select one or more controls in the Control List view,
the controls are also selected in the Layout view. Selecting a control
changes the Properties view and double-clicking a control changes
the Script view.</p>
<A NAME="TI1351"></A><h4>Event List view</h4>
<A NAME="TI1352"></A><p>The Event List view displays
the full event prototype of both the default and user-defined events
mapped to an object. Icons identify whether an event has a script,
is a descendent event with a script, or is a descendent event with
an ancestor script and a script of its own.</p>
<br><img src="images/ui28.gif">
<A NAME="TI1353"></A><h4>Non-Visual Object List view</h4>
<A NAME="TI1354"></A><p>The Non-Visual Object
List view is a list of nonvisual objects that have been inserted
in an Application object, window, or user object of any type. You
can sort controls by control name or ancestor.</p>
<br><img src="images/wrkg13.gif">
<A NAME="TI1355"></A><h4>Function List view</h4>
<A NAME="TI1356"></A><p>The Function List view lists the
system-defined functions and the object-level functions you defined
for the object. Icons identify whether a function has a script,
is a descendant of a function with a script, or is a descendant
of a function with an ancestor script and script of its own.</p>
<br><img src="images/wrkg12.gif">
<A NAME="TI1357"></A><p>Note that although the half-colored icon identifies the myfunc
user-defined function as having both an ancestor script and a script
of its own, for a function this means that the function is overridden.
This is different from the meaning of a half-colored icon in the
Event List view.</p>
<A NAME="TI1358"></A><h4>Structure List view</h4>
<A NAME="TI1359"></A><p>The Structure List view lists the
object-level structures defined for the object.</p>
<br><img src="images/ui26.gif">
<A NAME="TI1360"></A><p>If you double-click a structure in the Structure List view,
the structure's definition displays in the Structure view.</p>
<A NAME="TI1361"></A><h4>Structure view</h4>
<A NAME="TI1362"></A><p>The Structure view is where you
edit the definition of object-level structures in the Window, Menu,
and User Object painters.</p>
<br><img src="images/ui27.gif">

